﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Input.Touch;
using Microsoft.Xna.Framework.Media;
using System.Text;
using System.Xml.Serialization;
using System.Runtime.Serialization;

namespace TicTacToe
{
    public abstract class GamePlay
    {
        protected Game gameMain;
        protected Screen gameScreen;
        protected SpriteBatch spriteBatch;
        protected BoardSize boardSize;
        protected Style_Texture style;

        public BoardSize SizeOfBoard
        {
            get { return boardSize; }
            set { boardSize = value; }
        }

        public Style_Texture StyleTexture
        {
            get { return style; }
            set { style = value; }
        }

        public SpriteBatch GetSpriteBatch()
        {
            return spriteBatch;
        }

        public GamePlay(Game gameMain)
        {
            this.gameMain = gameMain;
        }

        public Game GetGameMain()
        {
            return gameMain;
        }

        public void SetScreen(Screen screen)
        {
            gameScreen = screen;
        }

        public abstract void Initialize();
        public abstract void LoadContent();
        public abstract void HandleTouch(TouchLocation touch);
        public abstract void Draw();
    }
}